13 research outputs found

    Detection of Smart Grid Integrity Attacks Using Signal Temporal Logic

    Full text link
    Cyber-attacks can have severe impacts on critical infrastructures, from outages to economical loss and physical damage to people and environment. One of the main targets of these attacks is the smart grid. In this paper, we propose a new software detector for integrity attacks targeting smart meter readings. The detector relies upon mining parameters of temporal logic specifications for integrity attack classification. To this end, we use Signal Temporal Logic (STL) for specifying properties over time series. Our approach considers different "attack scenarios" found in last years: given a parametric formula for each "attack scenario" and a set of labeled traces, we aim at finding the parameter valuation that validates each template.Comment: Editor: Geert Deconinck. 18th European Dependable Computing Conference (EDCC 2022), September 12-15, 2022, Zaragoza, Spain. Fast Abstract Proceedings - EDCC 202

    On-the-Fly Model Checking for Extended Action-Based Probabilistic Operators

    Get PDF
    International audienceThe quantitative analysis of concurrent systems requires expressive and user-friendly property languages combining temporal, data-handling, and quantitative aspects. In this paper, we aim at facilitating the quantitative analysis of systems modeled as PTSs (Probabilistic Transition Systems) labeled by actions containing data values and probabilities. We propose a new regular probabilistic operator that computes the probability measure of a path specified by a generalized regular formula involving arbitrary computations on data values. This operator, which subsumes the Until operators of PCTL and their action-based counterparts, can provide useful quantitative information about paths having certain (e.g., peak) cost values. We integrated the regular probabilistic operator into MCL (Model Checking Language) and we devised an associated on-the-fly model checking method, based on a combined local resolution of linear and Boolean equation systems. We implemented the method in the EVALUATOR model checker of the CADP toolbox and experimented it on realistic PTSs modeling concurrent systems

    Towards the Performance Analysis of Apache Tez Applications

    Get PDF
    Apache Tez is an application framework for large data processing using interactive queries. When a Tez developer faces the ful llment of performance requirements s/he needs to con gure and optimize the Tez application to speci c execution contexts. However, these are not easy tasks, though the Apache Tez con guration will im- pact in the performance of the application signi cantly. Therefore, we propose some steps, towards the modeling and simulation of Apache Tez applications, that can help in the performance assessment of Tez designs. For the modeling, we propose a UML pro le for Apache Tez. For the simulation, we propose to transform the stereotypes of the pro le into stochastic Petri nets, which can be eventually used for computing performance metrics

    Formal methods applied to the analysis of phylogenies: Phylogenetic model checking

    Get PDF
    Los árboles filogenéticos son abstracciones útiles para modelar y caracterizar la evolución de un conjunto de especies o poblaciones respecto del tiempo. La proposición, verificación y generalización de hipótesis sobre un árbol filogenético inferido juegan un papel importante en el estudio y comprensión de las relaciones evolutivas. Actualmente, uno de los principales objetivos científicos es extraer o descubrir los mensajes biológicos implícitos y las propiedades estructurales subyacentes en la filogenia. Por ejemplo, la integración de información genética en una filogenia ayuda al descubrimiento de genes conservados en todo o parte del árbol, la identificación de posiciones covariantes en el ADN o la estimación de las fechas de divergencia entre especies. Consecuentemente, los árboles ayudan a comprender el mecanismo que gobierna la deriva evolutiva. Hoy en día, el amplio espectro de métodos y herramientas heterogéneas para el análisis de filogenias enturbia y dificulta su utilización, además del fuerte acoplamiento entre la especificación de propiedades y los algoritmos utilizados para su evaluación (principalmente scripts ad hoc). Este problema es el punto de arranque de esta tesis, donde se analiza como solución la posibilidad de introducir un entorno formal de verificación de hipótesis que, de manera automática y modular, estudie la veracidad de dichas propiedades definidas en un lenguaje genérico e independiente (en una lógica formal asociada) sobre uno de los múltiples softwares preparados para ello. La contribución principal de la tesis es la propuesta de un marco formal para la descripción, verificación y manipulación de relaciones causales entre especies de forma independiente del código utilizado para su valoración. Para ello, exploramos las características de las técnicas de model checking, un paradigma en el que una especificación expresada en lógica temporal se verifica con respecto a un modelo del sistema que representa una implementación a un cierto nivel de detalle. Se ha aplicado satisfactoriamente en la industria para el modelado de sistemas y su verificación, emergiendo del ámbito de las ciencias de la computación. Las contribuciones concretas de la tesis han sido: A) La identificación e interpretación de los árboles filogeneticos como modelos de la evolución, adaptados al entorno de las técnicas de model checking. B) La definición de una lógica temporal que captura las propiedades filogenéticas habituales junto con un método de construcción de propiedades. C) La clasificación de propiedades filogenéticas, identificando categorías de propiedades según estén centradas en la estructura del árbol, en las secuencias o sean híbridas. D) La extensión de las lógicas y modelos para contemplar propiedades cuantitativas de tiempo, probabilidad y de distancias. E) El desarrollo de un entorno para la verificación de propiedades booleanas, cuantitativas y paramétricas. F) El establecimiento de los principios para la manipulación simbolica de objetos filogenéticos, p. ej., clados. G) La explotación de las herramientas de model checking existentes, detectando sus problemas y carencias en el campo de filogenia y proponiendo mejoras. H) El desarrollo de técnicas "ad hoc" para obtener ganancia de complejidad alrededor de dos frentes: distribución de los cálculos y datos, y el uso de sistemas de información. Los puntos A-F se centran en las aportaciones conceptuales de nuestra aproximación, mientras que los puntos G-H enfatizan la parte de herramientas e implementación. Los contenidos de la tesis están contrastados por la comunidad científica mediante las siguientes publicaciones en conferencias y revistas internacionales. La introducción de model checking como entorno formal para analizar propiedades biológicas (puntos A-C) ha llevado a la publicación de nuestro primer artículo de congreso [1]. En [2], desarrollamos la verificación de hipótesis filogenéticas sobre un árbol de ejemplo construido a partir de las relaciones impuestas por un conjunto de proteínas codificadas por el ADN mitocondrial humano (ADNmt). En ese ejemplo, usamos una herramienta automática y genérica de model checking (punto G). El artículo de revista [7] resume lo básico de los artículos de congreso previos y extiende la aplicación de lógicas temporales a propiedades filogenéticas no consideradas hasta ahora. Los artículos citados aquí engloban los contenidos presentados en las Parte I--II de la tesis. El enorme tamaño de los árboles y la considerable cantidad de información asociada a los estados (p.ej., la cadena de ADN) obligan a la introducción de adaptaciones especiales en las herramientas de model checking para mantener un rendimiento razonable en la verificación de propiedades y aliviar también el problema de la explosión de estados (puntos G-H). El artículo de congreso [3] presenta las ventajas de rebanar el ADN asociado a los estados, la partición de la filogenia en pequeños subárboles y su distribución entre varias máquinas. Además, la idea original del model checking rebanado se complementa con la inclusión de una base de datos externa para el almacenamiento de secuencias. El artículo de revista [4] reúne las nociones introducidas en [3] junto con la implementación y resultados preliminares presentados [5]. Este tema se corresponde con lo presentado en la Parte III de la tesis. Para terminar, la tesis reaprovecha las extensiones de las lógicas temporales con tiempo explícito y probabilidades a fin de manipular e interrogar al árbol sobre información cuantitativa. El artículo de congreso [6] ejemplifica la necesidad de introducir probabilidades y tiempo discreto para el análisis filogenético de un fenotipo real, en este caso, el ratio de distribución de la intolerancia a la lactosa entre diversas poblaciones arraigadas en las hojas de la filogenia. Esto se corresponde con el Capítulo 13, que queda englobado dentro de las Partes IV--V. Las Partes IV--V completan los conceptos presentados en ese artículo de conferencia hacia otros dominios de aplicación, como la puntuación de árboles, y tiempo continuo (puntos E-F). La introducción de parámetros en las hipótesis filogenéticas se plantea como trabajo futuro. Referencias [1] Roberto Blanco, Gregorio de Miguel Casado, José Ignacio Requeno, and José Manuel Colom. Temporal logics for phylogenetic analysis via model checking. In Proceedings IEEE International Workshop on Mining and Management of Biological and Health Data, pages 152-157. IEEE, 2010. [2] José Ignacio Requeno, Roberto Blanco, Gregorio de Miguel Casado, and José Manuel Colom. Phylogenetic analysis using an SMV tool. In Miguel P. Rocha, Juan M. Corchado Rodríguez, Florentino Fdez-Riverola, and Alfonso Valencia, editors, Proceedings 5th International Conference on Practical Applications of Computational Biology and Bioinformatics, volume 93 of Advances in Intelligent and Soft Computing, pages 167-174. Springer, Berlin, 2011. [3] José Ignacio Requeno, Roberto Blanco, Gregorio de Miguel Casado, and José Manuel Colom. Sliced model checking for phylogenetic analysis. In Miguel P. Rocha, Nicholas Luscombe, Florentino Fdez-Riverola, and Juan M. Corchado Rodríguez, editors, Proocedings 6th International Conference on Practical Applications of Computational Biology and Bioinformatics, volume 154 of Advances in Intelligent and Soft Computing, pages 95-103. Springer, Berlin, 2012. [4] José Ignacio Requeno and José Manuel Colom. Model checking software for phylogenetic trees using distribution and database methods. Journal of Integrative Bioinformatics, 10(3):229-233, 2013. [5] José Ignacio Requeno and José Manuel Colom. Speeding up phylogenetic model checking. In Mohd Saberi Mohamad, Loris Nanni, Miguel P. Rocha, and Florentino Fdez-Riverola, editors, Proceedings 7th International Conference on Practical Applications of Computational Biology and Bioinformatics, volume 222 of Advances in Intelligent Systems and Computing, pages 119-126. Springer, Berlin, 2013. [6] José Ignacio Requeno and José Manuel Colom. Timed and probabilistic model checking over phylogenetic trees. In Miguel P. Rocha et al., editors, Proceedings 8th International Conference on Practical Applications of Computational Biology and Bioinformatics, Advances in Intelligent and Soft Computing. Springer, Berlin, 2014. [7] José Ignacio Requeno, Gregorio de Miguel Casado, Roberto Blanco, and José Manuel Colom. Temporal logics for phylogenetic analysis via model checking. IEEE/ACM Transactions on Computational Biology and Bioinformatics, 10(4):1058-1070, 2013

    Performance Analysis of Apache Storm Applications using Stochastic Petri Nets

    Get PDF
    Real-time data-processing applications, such as those developed using Apache Storm, need to address highly demanding performance requirements. Engineers should assess these performance requirements while they configure their Storm designs to specific execution contexts, i.e., multi-user private or public cloud infrastructures. To this end, we propose a quality-driven framework for Apache Storm, that covers the following steps. The design with UML, using a novel profile for Apache Storm, allowing performance metrics definition. The transformation of the design into a performance model, con- cretely stochastic Petri nets. Last but not least, the simulation of the performance model and the retrieval of performance results

    Evaluación del rendimiento de aplicaciones intensivas en datos con Apache Spark

    Get PDF
    Durante los últimos años, el Big Data ha sufrido un gran auge en un rango muy variado de sectores del mercado. Analizar todos los datos disponibles para conocer la demanda de productos por adelantado, o incluso para crear dichas demandas, se ha vuelto una práctica común para muchas empresas. El procesamiento de estas grandes cantidades de datos no es algo trivial y ha de realizarse con tecnologı́as especı́ficamente diseñadas para ese propósito. Es por ello que cada vez surgen más propuestas en esa área de la informática, cada una con sus ventajas e inconvenientes. En todas ellas, no obstante, hay una caracterı́stica de vital importancia: el rendimiento. El trabajo que aquı́ se presenta se enmarca dentro del proyecto DICE, situado en el marco del plan Horizon2020 de la Comisión Europea, y en el cual participa el Grupo de I+D en Computación Distribuida (DiSCo) de la Universidad de Zaragoza. El objetivo final de DICE consiste en ofrecer un perfil UML original, un conjunto de herramientas software y una metodologı́a que ayudarán a los diseñadores de aplicaciones intensivas en datos a plantear la seguridad, eficiencia y fiabilidad de dichas aplicaciones. Entre dichas herramientas software se encuentra un simulador capaz de evaluar el rendimiento de aplicaciones basadas en diferentes tecnologı́as (DICE-Simulator), y es a este simulador al cual se le va a aportar una nueva tecnologı́a mediante la realización de este trabajo. Para poder realizar dicha aportación, integrando la tecnologı́a de Apache Spark en el simulador, se han realizado una serie procesos para analizar y modelar la tecnologı́a. En primer lugar, se ha investigado a fondo el funcionamiento de Spark, comprobando su rendimiento en aplicaciones reales y extrayendo tantos los conceptos básicos de la tecnologı́a como aquellos relativos al rendimiento de la misma, vitales para poder simular de forma fiel su comportamiento. A continuación, habiendo extraı́do toda la información necesaria resultante de la investiación, se ha creado un perfil para UML que captura de forma precisa todos los conceptos relativos al funcionamiento de Spark y a su rendimiento en aplicaciones reales. Una vez completado el modelo UML, ha sido necesario transformar dicho modelo a otro distinto que permitiese analizar y evaluar el rendimiento, basado en los conceptos recogido por el primero. Para ello, se ha propuesto un conjunto de patrones de transformación del modelo UML a un modelo de redes de Petri, concretamente a redes de Petri estocásticas, las cuales permiten analizar el rendimiento en aplicaciones informáticas. Por último, se han realizado una serie de experimentos para verificar que las transformaciones propuestas son correctas y reflejan de forma precisa el funcionamiento de una aplicación Spark real en términos de rendimiento

    Evaluación del rendimiento de aplicaciones intensivas en datos con Apache Tez

    Get PDF
    Durante los últimos años, el Big Data ha sufrido un gran auge en un rango muy variado de sectores del mercado. Analizar todos los datos disponibles para conocer la demanda de productos por adelantado, o incluso para crear dichas demandas, se ha vuelto una práctica común para muchas empresas. El procesamiento de estas grandes cantidades de datos no es algo trivial y ha de realizarse con tecnologı́as especı́ficamente diseñadas para ese propósito. Es por ello que cada vez surgen más propuestas en esa área de la informática, cada una con sus ventajas e inconvenientes. En todas ellas, no obstante, hay una caracterı́stica de vital importancia: el rendimiento. El trabajo que aquı́ se presenta se enmarca dentro del proyecto DICE, situado en el marco del plan Horizon2020 de la Comisión Europea, y en el cual participa el Grupo de I+D en Computación Distribuida (DiSCo) de la Universidad de Zaragoza. El objetivo final de DICE consiste en ofrecer un perfil UML original, un conjunto de herramientas software y una metodologı́a que ayudarán a los diseñadores de aplicaciones intensivas en datos a plantear la seguridad, eficiencia y fiabilidad de dichas aplicaciones. Entre dichas herramientas software se encuentra un simulador capaz de evaluar el rendimiento de aplicaciones basadas en diferentes tecnologı́as (DICE-Simulator), y es a este simulador al cual se le va a aportar una nueva tecnologı́a mediante la realización de este trabajo. Para poder realizar dicha aportación, integrando la tecnologı́a de Apache Tez en el simu- lador, se han realizado una serie procesos para analizar y modelar la tecnologı́a. En primer lugar, se ha investigado a fondo el funcionamiento de Tez, comprobando su rendimiento en aplicaciones reales y extrayendo tantos los conceptos básicos de la tecnologı́a como aquellos relativos al rendimiento de la misma, vitales para poder simular de forma fiel su comporta- miento. A continuación, habiendo extraı́do toda la información necesaria resultante de la investi- gación, se ha creado un perfil para UML que captura de forma precisa todos los conceptos relativos al funcionamiento de Tez y a su rendimiento en aplicaciones reales. Una vez completado el modelo UML, ha sido necesario transformar dicho modelo a otro distinto que permitiese analizar y evaluar el rendimiento, basado en los conceptos recogido por el primero. Para ello, se ha propuesto un conjunto de patrones de transformación del modelo UML a un modelo de redes de Petri, concretamente a redes de Petri estocásticas, las cuales permiten analizar el rendimiento en aplicaciones informáticas. Por último, se han realizado una serie de experimentos para verificar que las transforma- ciones propuestas son correctas y reflejan de forma precisa el funcionamiento de una aplicación Tez real en términos de rendimiento

    Analyzing Phylogenetic Trees with Timed and Probabilistic Model Checking: The Lactose Persistence Case Study

    No full text
    Model checking is a generic verification technique that allows the phylogeneticist to focus on models and specifications instead of on implementation issues. Phylogenetic trees are considered as transition systems over which we interrogate phylogenetic questions written as formulas of temporal logic. Nonetheless, standard logics become insufficient for certain practices of phylogenetic analysis since they do not allow the inclusion of explicit time and probabilities. The aim of this paper is to extend the application of model checking techniques beyond qualitative phylogenetic properties and adapt the existing logical extensions and tools to the field of phylogeny. The introduction of time and probabilities in phylogenetic specifications is motivated by the study of a real example: the analysis of the ratio of lactose intolerance in some populations and the date of appearance of this phenotype
    corecore